Librerías
library(readxl)
library(tidyverse)
Load data
Data <- read_excel("Data.xlsx") # Cargamos datos
x <- "Año_Mes" # Variable dependiente
y <- c("Lat", "Long", "ELEVATION", "TMAX", "TMIN") # Variables independientes
Generamos la tabla con las tendencias y otras medidas de las tendencias para el set global de datos
Tabla vacía para almacenar los resultados
tabla_final_general <- data.frame(
"Variable"= character(),
"Trend" = numeric(),
"t" = numeric(),
"p" = numeric(),
"P95_max" = numeric(),
"P95_min" = numeric(),
"F" = numeric()
)
Bucle para obtener tendencia con cada variable independiente
for (i in 1:length(y)) {
tabla <- data.frame( # Tabla vacía donde se guardan resultados de cada variable independiente
"Variable" = NA, # para después unir a la tabla final
"Trend" = NA,
"t" = NA,
"p" = NA,
"P95_max" = NA,
"P95_min" = NA,
"F" = NA
)
tabla$Variable <- y[i] # Rellena primera columna con el nombre de la variable
model_g <- lm(formula(paste(y[i], # Crea formula utilizando la variable del bucle
paste(x, collapse = "+"),
sep = " ~ ")),
data = Data)
tabla$Trend <- model_g$coefficients[[2]] # Tendencia
tabla$t <- summary(model_g)$coefficients[2, 3] # t del modelo
tabla$p <- summary(model_g)$coefficients[2, 4] # p del modelo
tabla$P95_max <- confint(model_g, "Año_Mes", level = .95)[, 2] # Intervalo de confianza max del 95%
tabla$P95_min <- confint(model_g, "Año_Mes", level = .95)[, 1] # Intervalo de confianza min del 95%
tabla$F <- summary(model_g)$fstatistic[1] # F del modelo
tabla_final_general <- rbind(tabla_final_general, tabla) # Unimos las filas de la tabla general con cada una de las # tablas individuales
}
Resultados del set global de datos
DT::datatable(
tabla_final_general,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
Generamos la tabla con las tendencias y otras medidas de las tendencias para cada una de las especies Además comparamos la tendencia de cada una de las especies con la tendencia del conjunto de datos
spp <- unique(Data$Especie) # Creamos un vector con los nombres de las especies
Creamos una función para comparar tendencias (SE UTILIZARÁ MAS ADELANTE)
compare.coeff <- function(b_g,se_g,b_i,se_i){
return((b_g-b_i)/sqrt(se_g^2+se_i^2))
}
Tabla vacía para guardar los resultados
tabla_ind <- data.frame(
"Spp" = character(),
"Variable"= character(),
"Trend" = numeric(),
"t" = numeric(),
"p" = numeric(),
"P95_max" = numeric(),
"P95_min" = numeric(),
"F" = numeric(),
"Dif" = numeric()
)
Bucle para calcular las tendencias de cada una de las especies y comparar con el set global
for (n in 1:length(spp)) { # Bucle para actuar sobre cada una de las especies
ind <- Data %>%
filter( Especie == spp[n]) %>%
mutate(group = "i") # Filtra la especie
if (nrow(ind) > 50) { # Condicional "SI" para seleccionar aquellas especies con mas de # 50 registros
for (i in 1:length(y)) { # Bucle para cada una de las variables independientes
tryCatch({ # Implementa código que debe ejecutarse cuando se produce la condición de error
tabla <- data.frame( # Crea tabla vacía para después unificar a tabla de resultados
"Spp" = NA,
"Variable" = NA,
"Trend" = NA,
"t" = NA,
"p" = NA,
"P95_max" = NA,
"P95_min" = NA,
"F" = NA,
"Dif_1_pvalue" = NA,
"Dif_2_coef" = NA,
"Dif_2_pvalue" = NA,
"Dif_2_F" = NA
)
# General
model_g = lm(formula(paste(y[i],
paste( # Crea de nuevo el modelo general para la posterior comparación
x, collapse = "+" # Al ser un bucle hay que utilizar la función formula y paste
), sep = " ~ ")), data = Data)
tabla$Spp <- unique(ind[[1]]) # Selecciona un inicio nombre de la especie filtrada del bucle
tabla$Variable <- y[i] # Variable independiente utilizada en el bucle
model_i <- # Crea el modelo de cada especie para la posterior comparación
lm(formula(paste(y[i], paste(
x, collapse = "+"
), sep = " ~ ")), data = ind)
tabla$Trend <- model_i$coefficients[[2]]
tabla$t <- summary(model_i)$coefficients[2, 3]
tabla$p <- summary(model_i)$coefficients[2, 4]
tabla$P95_max <- confint(model_i, "Año_Mes", level = .95)[, 2]
tabla$P95_min <- confint(model_i, "Año_Mes", level = .95)[, 1]
tabla$F <- summary(model_i)$fstatistic[1]
# Dos formas de ver si las tendencias de las especies difieren de la general
# Método 1
# Obtener una estadística z al encontrar la diferencia entre los dos coeficientes
# y luego dividirla por un error estándar combinado. Ver https://www.jstor.org/stable/2782277?seq=1#page_scan_tab_contents
b_g <- summary(model_g)$coefficients[2,1] # Tendencia general
se_g <- summary(model_g)$coefficients[2,2] # Desviación estándar general
b_i <- summary(model_i)$coefficients[2,1] # Tendencia especie del bucle
se_i <- summary(model_i)$coefficients[2,2] # desviación estándar de especie del bucle
tabla$Dif_1_pvalue <- 2*pnorm(-abs(compare.coeff(b_g,se_g,b_i,se_i))) # Fórmula utilizando la función "compare.coeff"
# Método 2
# Crear un modelo incorporando la interacción de la pendiente general con la de la especie Variable independiente*Año_Mes
# el coeficiente indica que la pendiente de la especie es mayor o menor que la pendiente del conjunto de datos.
# También observamos el pvalor para ver si es significativo (inf a 0,05 son pendientes diferentes)
gen <- Data %>%
mutate(group = "g")
dat <- rbind(gen,ind)
model_int = lm(formula(paste(y[i], paste( # Crea de nuevo el modelo general para la posterior comparación
x,"*group", collapse = "+"
), sep = " ~ ")), data = dat)
tabla$Dif_2_coef <- summary(model_int)$coefficients[4,1]
tabla$Dif_2_pvalue <- summary(model_int)$coefficients[4,4]
tabla$Dif_2_F <- summary(model_int)$fstatistic[1]
tabla_ind <- rbind(tabla_ind, tabla) # Unimos tablas
}, error = function(e) { # Si la función tryChach da error ejecuta esta parte del código
cat(
paste0("WARNING: Specie ", ind[1, 1], " variable (", y[i], ") has"), # Indica que especie tiene el problema y por qué
conditionMessage(e),
"\n"
)
})
}
} else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient")) # Si en el condicional no hay suficientes registros
# para una especie (<50) expresa el mensaje
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"
A partir de aquí se generan los resultados y tablas para cada variable independiente
tabla_ind_lat <- filter(tabla_ind, Variable == "Lat")
DT::datatable(tabla_ind_lat,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
for ( i in 1:length(spp)){
ind <- filter(Data, Especie == spp[i])
if (nrow(ind) > 50) {
print(ggplot() +
geom_smooth(data= Data, aes(x = Año_Mes, y = Lat),col = "black", fill = "black", method = "lm") +
geom_smooth(data= ind, aes(x = Año_Mes, y = Lat),col = "red", fill = "red", method = "lm")+
ggtitle(paste0(spp[i]))+
labs(x= "Year", y = "Latitude")+
theme_minimal())
}else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient"))
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"
tabla_ind_lon <- filter(tabla_ind, Variable == "Long")
DT::datatable(tabla_ind_lon,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
for ( i in 1:length(spp)){
ind <- filter(Data, Especie == spp[i])
if (nrow(ind) > 50) {
print(ggplot() +
geom_smooth(data= Data, aes(x = Año_Mes, y = Long),col = "black", fill = "black", method = "lm") +
geom_smooth(data= ind, aes(x = Año_Mes, y = Long),col = "red", fill = "red", method = "lm")+
ggtitle(paste0(spp[i]))+
labs(x= "Year", y = "Longitude")+
theme_minimal())
}else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient"))
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"
tabla_ind_elev <- filter(tabla_ind, Variable == "ELEVATION")
DT::datatable(tabla_ind_elev,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
for ( i in 1:length(spp)){
ind <- filter(Data, Especie == spp[i])
if (nrow(ind) > 50) {
print(ggplot() +
geom_smooth(data= Data, aes(x = Año_Mes, y = ELEVATION),col = "black", fill = "black", method = "lm") +
geom_smooth(data= ind, aes(x = Año_Mes, y = ELEVATION),col = "red", fill = "red", method = "lm")+
ggtitle(paste0(spp[i]))+
labs(x= "Year", y = "Elevation")+
theme_minimal())
}else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient"))
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"
tabla_ind_tmax <- filter(tabla_ind, Variable == "TMAX")
DT::datatable(tabla_ind_tmax,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
for ( i in 1:length(spp)){
ind <- filter(Data, Especie == spp[i])
if (nrow(ind) > 50) {
print(ggplot() +
geom_smooth(data= Data, aes(x = Año_Mes, y = TMAX),col = "black", fill = "black", method = "lm") +
geom_smooth(data= ind, aes(x = Año_Mes, y = TMAX),col = "red", fill = "red", method = "lm")+
ggtitle(paste0(spp[i]))+
labs(x= "Year", y = "Maximum temperature")+
theme_minimal())
}else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient"))
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"
tabla_ind_tmin <- filter(tabla_ind, Variable == "TMIN")
DT::datatable(tabla_ind_tmin,
class = "nowrap",
filter = 'top',
extensions = "Buttons",
options = list(
autoWidth = TRUE,
dom = 'Bfrtip',
buttons = c("copy", "csv", "excel")
)
)
for ( i in 1:length(spp)){
ind <- filter(Data, Especie == spp[i])
if (nrow(ind) > 50) {
print(ggplot() +
geom_smooth(data= Data, aes(x = Año_Mes, y = TMIN),col = "black", fill = "black", method = "lm") +
geom_smooth(data= ind, aes(x = Año_Mes, y = TMIN),col = "red", fill = "red", method = "lm")+
ggtitle(paste0(spp[i]))+
labs(x= "Year", y = "Minimum temperature")+
theme_minimal())
}else{
print(paste0("Data for ", ind[1, 1], " specie are insufficient"))
}
}
## [1] "Data for Aegialia arenaria specie are insufficient"
## [1] "Data for Agolius abdominalis pecoudi specie are insufficient"
## [1] "Data for Agolius bonvouloiri bonvouloiri specie are insufficient"
## [1] "Data for Agolius bonvouloiri cantabricus specie are insufficient"
## [1] "Data for Agrilinus convexus specie are insufficient"
## [1] "Data for Agrilinus sp. specie are insufficient"
## [1] "Data for Ahermodontus ambrosi specie are insufficient"
## [1] "Data for Ahermodontus marini specie are insufficient"
## [1] "Data for Ammoecius brevis specie are insufficient"
## [1] "Data for Ammoecius dentatus specie are insufficient"
## [1] "Data for Anomius baeticus specie are insufficient"
## [1] "Data for Brindalus porcicollis specie are insufficient"
## [1] "Data for Brindalus rotundipennis specie are insufficient"
## [1] "Data for Ceratophyus alloini specie are insufficient"
## [1] "Data for Ceratophyus holfmannseggi specie are insufficient"
## [1] "Data for Ceratophyus martinezi specie are insufficient"
## [1] "Data for Ceratophyus rossii specie are insufficient"
## [1] "Data for Cheironitis furcifer specie are insufficient"
## [1] "Data for Chilothorax brancoi specie are insufficient"
## [1] "Data for Chilothorax conspurcatus specie are insufficient"
## [1] "Data for Chilothorax melanostictus specie are insufficient"
## [1] "Data for Chilothorax paykulli specie are insufficient"
## [1] "Data for Chilothorax pictus specie are insufficient"
## [1] "Data for Erytus cognatus specie are insufficient"
## [1] "Data for Esymus sesquivittatus specie are insufficient"
## [1] "Data for Euoniticellus pallens specie are insufficient"
## [1] "Data for Euorodalus boiteli specie are insufficient"
## [1] "Data for Eupleurus subterraneus subterraneus specie are insufficient"
## [1] "Data for Geotrupes spiniger specie are insufficient"
## [1] "Data for Gymnopleurus mopsus mopsus specie are insufficient"
## [1] "Data for Heptaulacus algarbiensis specie are insufficient"
## [1] "Data for Heptaulacus brancoi specie are insufficient"
## [1] "Data for Heptaulacus gadetinus specie are insufficient"
## [1] "Data for Iberoaphodius dellacasai specie are insufficient"
## [1] "Data for Jekelius bahilloi specie are insufficient"
## [1] "Data for Jekelius castillanus specie are insufficient"
## [1] "Data for Jekelius catalonicus specie are insufficient"
## [1] "Data for Jekelius chersinus specie are insufficient"
## [1] "Data for Jekelius hernandezi specie are insufficient"
## [1] "Data for Jekelius hispanus specie are insufficient"
## [1] "Data for Jekelius intermedius specie are insufficient"
## [1] "Data for Limarus zenkeri specie are insufficient"
## [1] "Data for Liothorax plagiatus specie are insufficient"
## [1] "Data for Loraspis frater specie are insufficient"
## [1] "Data for Melinopterus pubescens specie are insufficient"
## [1] "Data for Melinopterus reyi specie are insufficient"
## [1] "Data for Mendidaphodius paganettii specie are insufficient"
## [1] "Data for Neagolius heydeni specie are insufficient"
## [1] "Data for Neagolius montanus specie are insufficient"
## [1] "Data for Nimbus obliteratus specie are insufficient"
## [1] "Data for Nimbus richardi specie are insufficient"
## [1] "Data for Ochodaeus inermis specie are insufficient"
## [1] "Data for Odonteus armiger specie are insufficient"
## [1] "Data for Onthophagus albarracinus specie are insufficient"
## [1] "Data for Onthophagus andalusicus andalusicus specie are insufficient"
## [1] "Data for Onthophagus hirtus specie are insufficient"
## [1] "Data for Onthophagus merdarius specie are insufficient"
## [1] "Data for Onthophagus nigellus specie are insufficient"
## [1] "Data for Onthophagus nuchicomis specie are insufficient"
## [1] "Data for Onthophagus semicomis specie are insufficient"
## [1] "Data for Oxyomus sylvestris specie are insufficient"
## [1] "Data for Parammoecius corvinus specie are insufficient"
## [1] "Data for Parammoecius pyrenaeus specie are insufficient"
## [1] "Data for Parataenius simulator specie are insufficient"
## [1] "Data for Phalacronothus biguttatus specie are insufficient"
## [1] "Data for Phalacronothus putoni specie are insufficient"
## [1] "Data for Plagiogonus arenarius specie are insufficient"
## [1] "Data for Plagiogonus nanus specie are insufficient"
## [1] "Data for Planolinus fasciatus specie are insufficient"
## [1] "Data for Platytomus tibialis specie are insufficient"
## [1] "Data for Pleurophorus mediterranicus specie are insufficient"
## [1] "Data for Psammodius asper specie are insufficient"
## [1] "Data for Psammodius basalis specie are insufficient"
## [1] "Data for Psammodius laevipennis specie are insufficient"
## [1] "Data for Psammodius plicicollis specie are insufficient"
## [1] "Data for Pseudacrossus sharpi specie are insufficient"
## [1] "Data for Rhyssemus algiricus specie are insufficient"
## [1] "Data for Rhyssemus convexus specie are insufficient"
## [1] "Data for Rhyssemus germanus specie are insufficient"
## [1] "Data for Rhyssemus parallelus specie are insufficient"
## [1] "Data for Rhyssemus sulcatus specie are insufficient"
## [1] "Data for Scarabaeus pius specie are insufficient"
## [1] "Data for Scarabaeus typhon specie are insufficient"
## [1] "Data for Silphotrupes escorialensis escorialensis specie are insufficient"
## [1] "Data for Silphotrupes escorialensis opaculus specie are insufficient"
## [1] "Data for Silphotrupes orocantabricus specie are insufficient"
## [1] "Data for Silphotrupes punctatissimus specie are insufficient"
## [1] "Data for Thorectes baraudi specie are insufficient"
## [1] "Data for Thorectes ferreri specie are insufficient"
## [1] "Data for Thorectes laevigatus specie are insufficient"
## [1] "Data for Thorectes valencianus specie are insufficient"
## [1] "Data for Trypocopris vernalis specie are insufficient"